package lab03;

import com.mysql.jdbc.Driver;

import java.sql.*;

public class Test13 {
    public static void main(String[] args) {


        Connection connection = null;
        PreparedStatement statement = null;

        //继承自statement的接口，由preparedstatement创建，用于发送含有一个或多个输入参数的sql语句，比statement对象的效率更高，并且可以防止sql注入。
        ResultSet resultSet = null;

        //查询学生表的所有学生信息
        String sql = "SELECT *  FROM t_students";

        //5)	删除 id 为5的学生信息
        String sql1 = "DELETE FROM t_students  WHERE id='5'";

        //6)	查找 id 为4的学生并将其院系更改为“信息与工程学院”。
        String sql2 = "update t_students set department='信息与工程学院' " +
                "where id='4'";


        try {
            //会抛出错误
            //加载驱动
            Class.forName("com.mysql.jdbc.Driver");

            //数据库连接字符串：jdbc:mysql:// + ip地址 + :3306/数据库地址
            //会抛出错误
            connection = DriverManager.getConnection(
                    //?serverTimezone=UTC实区
                    "jdbc:mysql://localhost:3306/java_2017?characterEncoding=utf-8&useSSL=false&serverTimezone=GMT",
                    "root",
                    "123456");

            //statement = connection.prepareStatement(sql1);
            statement = connection.prepareStatement(sql2);

            //ResultSet：只有在“查”时用到，只有查才会有结果集。

            //statement.execute(sql1);

            statement.execute(sql2);

            /*
            executeQuery();运行select语句，返回ResultSet结果集
            executeUpdate();运行insert，update，delete操作；，返回更新的行数
             */
            //resultSet=statement.executeQuery(sql);


            //4)	打印学生表的所有学生信息。
           /* while (resultSet.next()){
                System.out.println(resultSet.getInt(1)+"---"+resultSet.getString(2)+"---"+resultSet.getString(3)
                +"---"+resultSet.getInt(4)+"---"+resultSet.getInt(5)+"---"+resultSet.getString(6));
            }
*/
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        } catch (SQLException e) {
            e.printStackTrace();
        } finally {
            try {
                //关闭文件
                statement.close();
                connection.close();

            } catch (SQLException e) {
                e.printStackTrace();
            }

        }
    }
}
